/**
 * @file mrobot.h
 * @author Hello Kun (https://space.bilibili.com/475950146)
 * @brief 
 * 
 * MRobot：
	实现语音交互、APP控制；碰一碰连接；支持oled、mpu6050.默认均关闭
   互联设备：
	   1.MRobot通过串口发送指令给互联设备，互联设备间通过mqtt云服务器连接；
	   2.给台灯发送浇水的指令，台灯会将消息转到云服务器，云服务器再下发给浇水机。
 
 * 
 * @version 0.1
 * @date 2022-06-13 优化
 * 
 * @copyright Copyright (c) 2022
 * 
 */
#ifndef _MROBOT_H__
#define _MROBOT_H__

#define ALL_DATA_INIT_C0 '0'
#define ALL_DATA_INIT_0 0

#define FAN_OFF "10\n"
#define FAN_LEV_1 "11\n"
#define FAN_LEV_2 "12\n" // default
#define FAN_LEV_3 "13\n"

#define DOOR_OPEN "21\n"
#define DOOR_CLOSE "20\n"

#define LAMB_OFF "30\n"
#define LAMB_LEV_1 "31\n"
#define LAMB_LEV_2 "32\n" // defalut
#define LAMB_LEV_3 "33\n"

#define WATER_GO "41\n"

typedef enum
{
    WATER_GO_S = 0x61,
    LAMB_OFF_S = 0x70,
    LAMB_LEV_1_S,
    LAMB_LEV_2_S,
    LAMB_LEV_3_S,
    DOOR_OPEN_S = 0x81,
    FAN_OFF_S = 0x90,
    FAN_LEV_1_S,
    FAN_LEV_2_S,
    FAN_LEV_3_S,

}speaker_union_device;

typedef enum
{
    TURN_LEFT = 76,  //'L'
    TURN_RIGHT = 82, //'R'
    FORWARD = 70,    //'F'
    BACKWARD = 66,   //'B'
    CIRCLE,          //'C'
} app_mrobot_status;

typedef enum
{
    TURN_LEFT_S =1 ,  
    TURN_RIGHT_S , 
    FORWARD_S ,    
    BACKWARD_S ,   
    CIRCLE_S ,          
} speaker_mrobot_status;

typedef enum{
    EMOJI_1 = '1',
    EMOJI_2,
    EMOJI_3,
    EMOJI_4,
    EMOJI_5,
    EMOJI_6,
    EMOJI_7,
    EMOJI_8,
    ON_OFF,
} emoji_status;

#endif

/**
 * @brief 数据交互说明
 * 1.语音交互指令定义[十六进制串口交互]：
 *  // 数据说明
    // DATA: AA 55 01 20 06 55 AA
    // Format：head + index + data_H + data_L + tail
        1.1 Hi3861接收SUT03指令：
                左转、向左转：
                        RX：AA 55 01 55 AA

                右转、向右转：
                        RX：AA 55 02 55 AA

                过来、前进：
                        RX：AA 55 03 55 AA

                后退、回去：
                        RX：AA 55 04 55 AA

                转圈、转个圈：
                        RX：AA 55 05 55 AA

                我可以摸摸你吗：//配合转圈
                        RX：AA 55 05 55 AA

                打开风扇：
                        RX：AA 55 91 55 AA //lev-1
                        RX：AA 55 92 55 AA //lev-2 default
                        RX：AA 55 93 55 AA //lev-3

                关闭风扇：
                        RX：AA 55 90 55 AA

                开门：
                        RX：AA 55 81 55 AA

                打开台灯：
                        RX：AA 55 71 55 AA  //lev-1
                        RX：AA 55 72 55 AA  //lev-2  default
                        RX：AA 55 73 55 AA  //lev-3
                关闭台灯：
                        RX：AA 55 70 55 AA

                帮我浇水、帮我养花
                        RX：AA 55 61 55 AA

                温度多少、气温多少：
                        RX：AA 55 51 55 AA

        1.2 Hi3861发送指令到SUT03：
                emoji_hello [带猫叫声]:
                        TX：AA 55 01 55 AA

                emoji_o:
                        TX：AA 55 02 55 AA

                emoji_hi:
                        TX：AA 55 03 55 AA

                emoji_wuwu:
                        TX：AA 55 04 55 AA

                emoji_harmony [带一个激灵音效 可以用作触摸后的响应]:
                        TX：AA 55 05 55 AA

                emoji_red_light:
                        TX：AA 55 06 55 AA

                emoji_yellow_light:
                        TX：AA 55 07 55 AA

                emoji_green_light:
                        TX：AA 55 08 55 AA

                发送温度【09号】【整数部分】【小数部分】：
                        TX：AA 55 09 16 01 55 AA  //22.1℃


[以下数据均是ASCALL码交互]
2. 风扇控制交互数据帧
     Turn On fan:  '11'
     Turn Off fan: '10'

3. 开门控制交互数据帧
    Open door:'21'

4. 台灯控制交互数据帧
    Turn On lamb: '31'
    Turn Off lamb:'30'

4. 浇水控制交互数据帧
    Watering:'41'

5. 获取温度
    Temperature：'51'


唤醒：
    你好小萌
    小萌小萌
    小萌你好


免唤醒交互：
    指令       附加功能
    我回来了 	【B6 pwm-1】
    睡觉了 		【B6 pwm-0】
    过来  		【uart1 发送前进指令】


 *
 */